home *** CD-ROM | disk | FTP | other *** search
- void myError(const char * , const char * , int );
- // forward refs
- class Window;
- class Scroller;
- class FrameWindow;
- class CGMWindow;
- class WMetaWindow;
- class FileObject;
- class IndexObject;
- class PageObject;
- class cgmObject;
- class cgmFile;
- class cgmMetafile;
- class cgmPicture;
- class clearOutput;
- class baseDisplay;
-
- //typedefs
- typedef Window * WindowPt;
- typedef FrameWindow * FrameWindowPt;
- typedef cgmObject * CgmObjectPt;
- typedef CGMWindow * CgmWindowPt;
- typedef WMetaWindow * WMetaWindowPt;
- typedef FileObject * FileObjectPt;
- typedef IndexObject * IndexObjectPt;
- typedef PageObject * PageObjectPt;
- typedef cgmFile * CgmFilePt;
- typedef cgmPicture * CgmPicturePt;
- typedef cgmMetafile * CgmMetafilePt;
- typedef clearOutput * ClearOutputPt;
- typedef baseDisplay * BaseDisplayPt;
- typedef const LPSTR cStr;
-
- enum Modes { READFILE, CREATEFILE };
-
- // *** class FileObject
- class FileObject
- {
- public:
- static FileObjectPt ThisFileObject;
- private:
- char Path[128];
- char Spec[128];
- char Ext[20];
- char *DialogMess;
- int HFile;
- OFSTRUCT OF;
- WORD wAttr;
- enum {FILE_SELECTED, NO_FILE_SELECTED};
- public:
- ~FileObject( void )
- { if (HFile) _lclose(HFile);
- if (DialogMess) delete DialogMess;
- }
- FileObject( void )
- { HFile = NULL; Spec[0] = '\0'; Path[0] = '\0'; Ext[0] = '\0';
- DialogMess = NULL;
- }
- void DialogFileSetup(cStr Mess, cStr Path, cStr Spec, cStr Ext, WORD wAttr );
- int GetHandle( void) { return HFile; }
- const char *GetFileName(void){return (const char *)&OF.szPathName[0];}// { return &Spec[0]; }
- void DialogFileInfo( );
- BOOL OpenRead(HWND hWndParent);
- BOOL OpenWrite( HWND hWndParent);
- static BOOL GetNewChoice(HWND hDlg, enum Modes FileAction);
- static BOOL FAR PASCAL FileOpenDlgProc (HWND hDlg, WORD message,
- WORD wParam, LONG lParam);
- static BOOL FAR PASCAL FileNewDlgProc (HWND hDlg, WORD message,
- WORD wParam, LONG lParam);
-
- }; // End of class FileObject
-
- class cgmObject
- {
- private:
- FileObjectPt file; // note, also held by cgmwindow
- CgmFilePt cgm;
- CgmWindowPt cgmWin;
- CgmMetafilePt cgmMeta;
- CgmPicturePt curPic; // current picture to be displayed
- CgmPicturePt lastPic; // last picture displayed
- WORD PicNum; // current picture #
- WORD Pictures; // # of pictures
- BOOL IsIndexed;
- BOOL DidFullMeta;
- HANDLE hMeta; // Windows metafile
- HBITMAP hCompBit;
- HDC hMemDC;
- HBITMAP hOldBit;
- public:
- cgmObject(CgmWindowPt cgmWin, FileObjectPt fobj );
- BOOL IsValidCgm(void) { if (cgmMeta) return TRUE; else return FALSE; }
- BOOL IsSamePic(void) { if ( !lastPic || curPic == lastPic ) return TRUE;
- else return FALSE; }
- WORD IndexCgm();
- WORD GetPicNum(void) {return PicNum;}
- inline BOOL NextPageExists(void);
- inline BOOL PrevPageExists(void);
- inline void GetPageText( PSTR text)
- {wsprintf((LPSTR)text,"PAGE %d", PicNum);}
- void SetLastCur(void) { lastPic = curPic; }
- void GetPictureText(PSTR text, void **picture);
- BOOL GetSel( void **picture);
- void SetSel(BOOL , void **picture);
- BOOL PreviousPage(void);
- BOOL NextPage(void);
- BOOL NewPage(WORD page);
- inline void ZapLastPic(void);
- inline void ReadCurPic(void);
- void DisplayCurPic(HWND, RECT *, Scroller *);
- void GPlotInit(void );
- void MakeClearText(FileObjectPt fobj );
- void WriteMetaFile(FileObjectPt fobj);
- void MakeBitmapMeta(HWND hWnd, RECT *rect, Scroller *sbars); //OBSOLETE
- void MakeStar(HDC dev , HDC meta); //FOR TEST ONLY
- ~cgmObject(void);
- }; // end of CgmObject class
-
-